#ifndef __CINETIC_GRAPHICS_COMPONENT_H__
#define __CINETIC_GRAPHICS_COMPONENT_H__
#pragma once

#include "Component.h"
#include "Delegate.h"
#include "View.h"

#include "OgreString.h"

namespace Cinetic
{
	class GraphicsComponent : public Component
	{
	public:
		GraphicsComponent( std::shared_ptr<GameObject> go );

	public:
		void								set_mesh( const Ogre::String& mesh );
        const Ogre::String&                 mesh() const;

    public:
        typedef Delegate<void (const Ogre::String&)>    MeshChangedDelegate;
        typedef MeshChangedDelegate::Event              MeshChangedEvent;
        MeshChangedEvent                                MeshChanged;

	private:
		Ogre::String						m_mesh;
	};
}

#endif